import { ref, computed } from 'vue'
import { defineStore } from 'pinia'

export const useGoodsStore = defineStore('goods', () => {
//创建一个购物车数组
const cartData = ref([])
const data = ref([])
    const dataAdd = (val)=>{
        //设置一个临时数组，用来读取session中的数据
        const temp = ref(JSON.parse(sessionStorage.getItem("cart")))
        if(temp.value==null){
            cartData.value.push(val)
        }else{
            //把session中的数据作为操作的初始值
            cartData.value = temp.value
            //我们要对传过来的数据进行检查，如果原来的购物车已经有了，只需要对数量和总金额进行修改，不需要重新生成数据
        data.value = cartData.value.find(v=>v.id == val.id)
        if(data.value){
            data.value.num+=val.num
            data.value.total = data.value.num * data.value.onlineprice
        }else{
            cartData.value.push(val)
        }
            
        }


        sessionStorage.setItem("cart",JSON.stringify(cartData.value))
   
    
    }//创建订单数组
    const orderData = ref([])
    const orderAdd = (val)=>{
        //设置一个临时数组用来读取session中原本存放的订单
        const temp = ref(JSON.parse(sessionStorage.getItem("order")))
        if(temp.value ==null){
            orderData.value.push(val)
        }else{
            orderData.value = temp.value
            orderData.value.push(val)
        }
        //最后把更新后的数据重新放回session中
        sessionStorage.setItem("order",JSON.stringify(orderData.value))
     }
  return { cartData ,dataAdd ,orderData,orderAdd}
})